1. Field of the Invention
The present invention relates to magnetic disk drives, and more particularly, to self servowriting of tracks on a rotating magnetic disk medium.
2. Description of the Prior Art
The writing of servotrack information on a magnetic disk medium is a critical process in the manufacture of a disk drive. Conventionally, servotrack information is written with a specialized servowriting instrument mounted on a large granite block to minimize external vibration effects. Increasing track densities and decreasing disk-drive size has led to the investigation of self servowriting techniques. One issue confronting the use of self servowriting is track-to-track or radial error propagation and amplification of written-in errors and imperfections with respect to a perfectly circular track.
U.S. Pat. No. 5,907,447 to Yarmchuk et al. describes reduction of radial error propagation by generating a correction signal using a filter applied to a position error signal (PES) to reduce a closed-loop response of a track-following servo loop to less than unity at frequencies equal to integer multiples of the disk rotation frequency. While permitting implementation of self servowriting with reduced radial error propagation, the PES filtering technique of the Yarmchuk patent fails to readily support increasingly aggressive track densities.
Accordingly, there exists a need for technique for aggressively reducing written-in error propagation during self servowriting. The present invention satisfies these needs.
The present invention may be embodied in a method, implemented in a magnetic disk drive, for writing servo burst patterns for tracks on a rotating magnetic disk medium. In the method, a first reference track, defined by previously written servo burst patterns, is followed using a servo control loop while writing servo burst patterns at a first target radial location on the magnetic disk medium. The servo control loop has a closed-loop response and includes a two-dimensional digital state compensator having first and second inputs and first and second outputs. The first input receives position error signals and the first output generates control signals for positioning a transducer head with respect to the selected track during track following. The second output generates track-following state variables during track following, and the second input receives combined track-following state variables. Accordingly, the track-following state variables generated at the second output during the writing of the servo burst patterns on the first target radial location are stored. A second reference track, defined by previously written servo burst patterns, is followed using the servo control loop while writing servo burst patterns at a second target radial location. The track-following state variables generated at the second output during the writing of the servo burst patterns at the second target radial location are stored. A third reference track, defined by the previously written servo burst patterns at the first and second radial target locations, is followed using the servo control loop while writing servo burst patterns at a third target radial location. The stored track-following state variables generated at the second output during writing of the servo burst patterns at the first and second target radial locations are combined, and the combined track following state variables are applied to the second input during writing of the servo burst patterns at the third target radial location.
In more detailed features of the invention, the dimensions of the two-dimensional digital state compensator may be circumferential position and radial position. The first reference track may be offset from the second reference track by more than one servo track, and the third reference track may be offset from the second reference track by at least one servo track. Each radial location may be offset from the corresponding reference track by at least one servo track.
Further, the compensator may be defined by the following equations:   "AutoLeftMatch"                                                        [                                                                                                                                            x                          ^                                                k                                            ⁡                                              (                                                  t                          +                          1                                                )                                                                                                                                                                                                          y                          ^                                                                          k                          +                          1                                                                    ⁡                                              (                        t                        )                                                                                                        ]                        =                                                            [                                                                                                              A                          11                                                                                                                      A                          12                                                                                                                                                              A                          21                                                                                                                      A                          22                                                                                                      ]                                ⁡                                  [                                                                                                                                                                        x                              ^                                                        k                                                    ⁡                                                      (                            t                            )                                                                                                                                                                                                                                                  y                              ^                                                        k                                                    ⁡                                                      (                            t                            )                                                                                                                                ]                                            +                                                [                                                                                                              B                          11                                                                                                                                                              B                          21                                                                                                      ]                                ⁢                                                      e                    k                                    ⁡                                      (                    t                    )                                                                                ⁢                      
                    ⁢                                                                      u                  k                                ⁡                                  (                  t                  )                                            ⁡                              [                                                                                                    C                        11                                                                                                            C                        12                                                                                            ]                                      ⁡                          [                                                                                                                                            x                          ^                                                k                                            ⁡                                              (                        t                        )                                                                                                                                                                                                          y                          ^                                                k                                            ⁡                                              (                        t                        )                                                                                                        ]                                                            (          1          )                    
where
k is the reference track number,
t is a servo wedge number or time;
uk(t) is the control signals for positioning the transducer head,
xk(t) is a state vector in a first dimension or time,
ŷk(t) is the combined track-following state variables, in a second dimension or track number,
ŷk(t) is the track-following state variables generated during writing of the servo burst patterns,
ek(t) is the position error signals (PES), and
A11, A12, A21, A22, B11, B21, C11, C12 are matrices of appropriate dimensions.
Alternatively, the compensator may be defined (in observer based form) by the following equations:   "AutoLeftMatch"                                                        [                                                                                                                                            x                          ^                                                k                                            ⁡                                              (                                                  t                          +                          1                                                )                                                                                                                                                                                                          y                          ^                                                                          k                          +                          1                                                                    ⁡                                              (                        t                        )                                                                                                        ]                        =                                                            [                                                                                                              A                          g                                                                                            0                                                                                                                                      C                          g                                                                                            0                                                                              ]                                ⁡                                  [                                                                                                                                                                        x                              ^                                                        k                                                    ⁡                                                      (                            t                            )                                                                                                                                                                                                                                                  y                              ^                                                        k                                                    ⁡                                                      (                            t                            )                                                                                                                                ]                                            +                                                [                                                                                                              B                          g                                                                                                                                    0                                                                              ]                                ⁢                                                      u                    k                                    ⁡                                      (                    t                    )                                                              +                                                K                  e                                ⁡                                  (                                                                                    e                        k                                            ⁡                                              (                        t                        )                                                              -                                                                                            e                          ^                                                k                                            ⁡                                              (                        t                        )                                                                              )                                                              ⁢                      
                    ⁢                                                                      e                  ^                                k                            ⁡                              (                t                )                                      =                                          [                                                                                                    -                                                  C                          g                                                                                                            1                                                                      ]                            ⁡                              [                                                                                                                                                          x                            ^                                                    k                                                ⁡                                                  (                          t                          )                                                                                                                                                                                                                              y                            ^                                                    k                                                ⁡                                                  (                          t                          )                                                                                                                    ]                                              ⁢                      
                    ⁢                                                    u                k                            ⁡                              (                t                )                                      =                                          K                c                            ⁡                              [                                                                                                                                                          x                            ^                                                    k                                                ⁡                                                  (                          t                          )                                                                                                                                                                                                                              y                            ^                                                    k                                                ⁡                                                  (                          t                          )                                                                                                                    ]                                                                          (          2          )                    
where
k is the reference track number;
t is a servo wedge number or time;
ek(t) is the position error signals (PES),
xc3xaak(t) is an estimate of the PES,
(Ag, Bg, Cg) is a state space description of a head disk assembly,
uk(t) is the control signals for positioning the transducer head
xk(t) is a state vector in the first dimension or time,
ŷk(t) is the combined track-following state variable, in a second dimension or track number,
ŷk+1(t) is the track-following state variables generated during writing of the servo burst patterns,
Ke is an estimator gain, and
Kc is a compensator gain.
In an alternative embodiment of the invention, a reference track, defined by previously formed servo burst patterns on the magnetic disk medium, is followed using a servo control loop while forming servo burst patterns defining a first target track. The servo loop has a closed-loop response and includes a two-dimensional digital state compensator having first and second inputs and first and second outputs. The first input receives position error signals (PES) and the first output generates control signals for positioning a transducer head with respect to the selected track during track following. The second output generates track-following state variables during track following, and the second input receives stored track-following state variables. Accordingly, the track-following state variables generated at the second output while forming the servo burst patterns defining the first target track are stored. The first target track is followed using the servo control loop while forming servo burst patterns defining a second target track. While forming the servo burst patterns defining the second target track, the stored track-following state variables generated at the second output while forming the servo burst patterns defining the first target track are applied to the second input.
In more detailed features of the invention, the dimensions of the two-dimensional digital state compensator may be circumferential position and radial position. The first target track may be offset from the reference track by one servo track, and the second target track may be offset from the first target track by one servo track. Alternatively, the first target track may be offset from the reference track by more than one servo track, and the second target track may be offset from the first target track by more than one servo track.
Further, the compensator may be defined by the following equations:   "AutoLeftMatch"                                                        [                                                                                                                                            x                          ^                                                k                                            ⁡                                              (                                                  t                          +                          1                                                )                                                                                                                                                                                                          y                          ^                                                                          k                          +                          1                                                                    ⁡                                              (                        t                        )                                                                                                        ]                        =                                                            [                                                                                                              A                          11                                                                                                                      A                          12                                                                                                                                                              A                          21                                                                                                                      A                          22                                                                                                      ]                                ⁡                                  [                                                                                                                                                                        x                              ^                                                        k                                                    ⁡                                                      (                            t                            )                                                                                                                                                                                                                                                  y                              ^                                                        k                                                    ⁡                                                      (                            t                            )                                                                                                                                ]                                            +                                                [                                                                                                              B                          11                                                                                                                                                              B                          21                                                                                                      ]                                ⁢                                                      e                    k                                    ⁡                                      (                    t                    )                                                                                ⁢                      
                    ⁢                                                                      u                  k                                ⁡                                  (                  t                  )                                            ⁡                              [                                                                                                    C                        11                                                                                                            C                        12                                                                                            ]                                      ⁡                          [                                                                                                                                            x                          ^                                                k                                            ⁡                                              (                        t                        )                                                                                                                                                                                                          y                          ^                                                k                                            ⁡                                              (                        t                        )                                                                                                        ]                                                            (          3          )                    
where
k is the track number;
t is a servo wedge number or time;
uk(t) is the control signals for positioning the transducer head,
xk(t) is a state vector in a first dimension or time,
ŷk(t) is the stored track-following state variables, in a second dimension or track number,
ŷk+1(t) is the track-following state variables that are stored while forming the servo burst patterns,
ek(t) is the position error signals (PES), and
A11, A12, A21, A22, B11, B21, C11, C12 are matrices of appropriate dimensions.
Alternatively, the compensator may be defined (in observer-based form) by the following equations:   "AutoLeftMatch"                                                        [                                                                                                                                            x                          ^                                                k                                            ⁡                                              (                                                  t                          +                          1                                                )                                                                                                                                                                                                          y                          ^                                                                          k                          +                          1                                                                    ⁡                                              (                        t                        )                                                                                                        ]                        =                                                            [                                                                                                              A                          g                                                                                            0                                                                                                                                      C                          g                                                                                            0                                                                              ]                                ⁡                                  [                                                                                                                                                                        x                              ^                                                        k                                                    ⁡                                                      (                            t                            )                                                                                                                                                                                                                                                  y                              ^                                                        k                                                    ⁡                                                      (                            t                            )                                                                                                                                ]                                            +                                                [                                                                                                              B                          g                                                                                                                                    0                                                                              ]                                ⁢                                                      u                    k                                    ⁡                                      (                    t                    )                                                              +                                                K                  e                                ⁡                                  (                                                                                    e                        k                                            ⁡                                              (                        t                        )                                                              -                                                                                            e                          ^                                                k                                            ⁡                                              (                        t                        )                                                                              )                                                              ⁢                      
                    ⁢                                                                      e                  ^                                k                            ⁡                              (                t                )                                      =                                          [                                                                                                    -                                                  C                          g                                                                                                            1                                                                      ]                            ⁡                              [                                                                                                                                                          x                            ^                                                    k                                                ⁡                                                  (                          t                          )                                                                                                                                                                                                                              y                            ^                                                    k                                                ⁡                                                  (                          t                          )                                                                                                                    ]                                              ⁢                      
                    ⁢                                                    u                k                            ⁡                              (                t                )                                      =                                          K                c                            ⁡                              [                                                                                                                                                          x                            ^                                                    k                                                ⁡                                                  (                          t                          )                                                                                                                                                                                                                              y                            ^                                                    k                                                ⁡                                                  (                          t                          )                                                                                                                    ]                                                                          (          4          )                    
where
k is the track number;
t is a servo wedge number or time;
ek(t) is the position error signals (PES),
xc3xaak(t) is an estimate of the PES,
(Ag, Bg, Cg) is a state space description of a head disk assembly,
uk(t) is the control signals for positioning the transducer head
xk(t) is a state vector in the first dimension or time,
ŷk(t) is the track-following state variable, in a second dimension or track number,
ŷk+1(t) is the track-following state variables that are stored while forming the servo burst patterns,
Ke is an estimator gain, and
Kc is a compensator gain.